package com.minjiang.blog.mapper;

import com.minjiang.blog.mode.Type;
import org.apache.ibatis.annotations.*;
import org.springframework.stereotype.Component;

import java.util.List;

@Component
@Mapper
public interface TypeDao {

    /**
     * 保存新增类型
     */
    @Insert("insert into t_type(name) value (#{name})")
    int saveType(Type type);

    /**
     * id查询
     */
    @Select("select * from t_type where id=#{id}")
    Type findType(@Param("id") Long id);

    /**
     * 查询所有类型（分页）
     * @return
     */
    @Select("select * from t_type")
    List<Type> findAllType();

    /**
     * 查询所有类型和博客
     * @return
     */
    @Select("select * from t_blog,t_type where t_blog.type_id=t_type.id")
    List<Type> findAllTypeAndBlog();

    /**
     * 查询类型（通过name）
     * @param name
     * @return
     */
    @Select("select * from t_type where name=#{name}")
    Type getTypeByName(@Param("name") String name);

    /**
     * 修改类型
     * @param type
     * @return
     */
    @Update("update t_type set name=#{name} where id=#{id}")
    int  updateType(Type type);

    /**
     * 删除类型
     * @param id
     */
    @Delete("delete from t_type where id=#{id}")
    int deleteType(@Param("id") Long id);

}
